Machine-readable optical codes have been in use for many years. The ubiquitous one-dimensional barcode has been used for product tracking and to automate purchases. For example, one-dimensional barcodes are in widespread use for managing point-of-sale purchase transactions using computer-controlled laser scanners.
More recently, two-dimensional codes, also known as matrix barcodes, such as QR (“Quick Response”) codes, have become popular. Two-dimensional codes can encode a much greater quantity of information than one-dimensional codes. The information encoded in such codes is readily accessed through digital photographs of the codes that are processed by application software found in mobile communication devices such as cell phones having digital signal processing and internet communication access. QR codes are frequently employed in conjunction with product advertising to provide an internet URI website link with information about the product advertised.
Optical bar codes are typically intended to be visually observable by humans, so that humans can find the codes and take appropriate action to access encoded information or otherwise use the codes. In contrast, steganographic information is designed to be hidden within an image. The present application addresses optical codes that are intended to be observable to humans and does not address steganographic codes. Referring to FIG. 3, a matrix barcode 5 of the prior art is illustrated with dark elements 6 and light elements 7 forming black modules on a white background. As used herein, the term matrix barcode is used synonymously with two-dimensional code. A QR code is an example of a matrix barcode.
The formation, scanning, and decoding of one- and two-dimensional bar codes is known in the art. For example, U.S. Pat. No. 7,273,175 describes a method, apparatus and a storage medium for locating QR codes. U.S. Pat. No. 7,702,162 describes a mixed code including a first code image region and a second code image region. An image processing apparatus including an optical reader and image processing hardware is discussed in U.S. Pat. No. 7,835,037. U.S. Pat. No. 7,841,531 discloses a camera operating system and matrix decoding device. U.S. Pat. No. 7,886,978 describes techniques for decoding images of barcodes. U.S. Pat. No. 6,726,104 discloses machine-readable optical symbols with areas of different spectral characteristics printed on different printers with different dot pitches. As shown in FIG. 8, it is also known to provide graphic elements 8 in a machine-readable optical code 5.
Although bar codes are in widespread use, there are improvements that can be made to such codes to increase the amount of information stored in the codes and to make the codes accessible to human observers under desired conditions. There is a need, therefore, for an improved machine-readable optical code that can provide additional information.